home *** CD-ROM | disk | FTP | other *** search
- 20000 '********************************************************************
- 20010 '** 冗談ビデオソフト 「MultiClock」 V1.1 **
- 20030 '** RC-TIMECORD表示部分 For 8DOTFONT By ちくちくうにうに **
- 20040 '********************************************************************
- 20050 '
- 20060 SCREEN 1,1,0:SCREEN@ 1:CLS:LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
- 20070 DIM DAT%(19200),PT%(3) ' 配列(PT%)は 8バイト 必要
- 20080 LOADM"fnt_ar.rex",0 'ToYoZo氏の8DOTFONT-LOADER
- 20090 SCREEN 1,1:LINE(0,0)-(8*16-1,7),PSET,0,BF
- 20100 FOR I&=0 TO 15
- 20110 A$=MID$("TCR 0123456789:・",I&+1)
- 20120 CALLM 0 ,ASC(A$),&H14,VARPTR(PT%(0)) ' 配列 PT%() にパターン格納
- 20130 X=I&*8:Y=0
- 20140 PUT@(X,Y)-(X+7,Y+7),PT% ' パターン表示
- 20150 NEXT
- 20160 GET@A(0,0)-(159,119),DAT%:LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
- 20170 PUT@A(0,0)-(159,119),DAT%,PSET,2,2 '2倍にした8×8DOT
- 20180 ERASE DAT%,PT%:DIM FONT%(256*16)
- 20190 FOR I&=0 TO 15
- 20200 X=I&*16:Y=0
- 20210 GET@A(X,Y)-(X+15,Y+15),FONT%,256*I&
- 20220 NEXT
- 20230 LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
- 20240 '
- 20250 SCREEN 1,1,2:GOSUB *準備
- 20260 '
- 20270 '===================================================================
- 20280 ' メインルーチン
- 20290 '===================================================================
- 20300 SIMPOSE ON
- 20310 *繰り返し
- 20320 OLDTIME$=TIME$:FLAME=FLAME+1:WAIT 2
- 20330 IF FLAME=30 THEN FLAME=0
- 20340 '
- 20350 GOSUB *時刻表示
- 20360 '
- 20370 GOTO *繰り返し
- 20380 '
- 20390 '===================================================================
- 20400 ' 時刻の表示をするサブルーチン
- 20410 '===================================================================
- 20420 *時刻表示
- 20430 OH1$=NH1$:OH2$=NH2$
- 20440 OM1$=NM1$:OM2$=NM2$
- 20450 OS1$=NS1$:OS2$=NS2$
- 20460 OF1$=NF1$:OF2$=NF2$
- 20470 '
- 20480 NH1$=LEFT$(TIME$,1) :NH2$=MID$(TIME$,2,1)
- 20490 NM1$=MID$(TIME$,4,1):NM2$=MID$(TIME$,5,1)
- 20500 NS1$=MID$(TIME$,7,1):NS2$=RIGHT$(TIME$,1)
- 20510 TMP$=RIGHT$(STR$(FLAME),2)
- 20520 NF1$=LEFT$(TMP$,1):NF2$=RIGHT$(TMP$,1)
- 20530 '
- 20540 IF OH1$<>NH1$ THEN PUT@A(6*16+8,12)-(7*16+8-1,27),FONT%,,,,,(256*(VAL(NH1$)+4))
- 20550 IF OH2$<>NH2$ THEN PUT@A(7*16+8,12)-(8*16+8-1,27),FONT%,,,,,(256*(VAL(NH2$)+4))
- 20560 IF OM1$<>NM1$ THEN PUT@A(9*16+8,12)-(10*16+8-1,27),FONT%,,,,,(256*(VAL(NM1$)+4))
- 20570 IF OM2$<>NM2$ THEN PUT@A(10*16+8,12)-(11*16+8-1,27),FONT%,,,,,(256*(VAL(NM2$)+4))
- 20580 IF OS1$<>NS1$ THEN PUT@A(12*16+8,12)-(13*16+8-1,27),FONT%,,,,,(256*(VAL(NS1$)+4))
- 20590 IF OS2$<>NS2$ THEN PUT@A(13*16+8,12)-(14*16+8-1,27),FONT%,,,,,(256*(VAL(NS2$)+4))
- 20600 IF OF1$<>NF1$ THEN PUT@A(15*16+8,12)-(16*16+8-1,27),FONT%,,,,,(256*(VAL(NF1$)+4))
- 20610 IF OF2$<>NF2$ THEN PUT@A(16*16+8,12)-(17*16+8-1,27),FONT%,,,,,(256*(VAL(NF2$)+4))
- 20620 RETURN
- 20630 '
- 20640 '===================================================================
- 20650 ' 画面の準備をするサブルーチン
- 20660 '===================================================================
- 20670 *準備
- 20680 '
- 20690 LINE(2*16+8,12)-(17*16-1+8,27),PSET,0,BF
- 20700 FLAME=0
- 20710 '
- 20720 NH1$=LEFT$(TIME$,1) :NH2$=MID$(TIME$,2,1)
- 20730 NM1$=MID$(TIME$,4,1):NM2$=MID$(TIME$,5,1)
- 20740 NS1$=MID$(TIME$,7,1):NS2$=RIGHT$(TIME$,1)
- 20750 TMP$=RIGHT$(STR$(FLAME),2)
- 20760 NF1$=LEFT$(TMP$,1):NF2$=RIGHT$(TMP$,1)
- 20770 '
- 20780 PUT@A(2*16+8,12)-(3*16+8-1,27),FONT%,,,,,(256*0)
- 20790 PUT@A(3*16+8,12)-(4*16+8-1,27),FONT%,,,,,(256*1)
- 20800 PUT@A(4*16+8,12)-(5*16+8-1,27),FONT%,,,,,(256*2)
- 20810 PUT@A(5*16+8,12)-(6*16+8-1,27),FONT%,,,,,(256*3)
- 20820 PUT@A(6*16+8,12)-(7*16+8-1,27),FONT%,,,,,(256*(VAL(NH1$)+4))
- 20830 PUT@A(7*16+8,12)-(8*16+8-1,27),FONT%,,,,,(256*(VAL(NH2$)+4))
- 20840 PUT@A(8*16+8,12)-(9*16+8-1,27),FONT%,,,,,(256*14)
- 20850 PUT@A(9*16+8,12)-(10*16+8-1,27),FONT%,,,,,(256*(VAL(NM1$)+4))
- 20860 PUT@A(10*16+8,12)-(11*16+8-1,27),FONT%,,,,,(256*(VAL(NM2$)+4))
- 20870 PUT@A(11*16+8,12)-(12*16+8-1,27),FONT%,,,,,(256*14)
- 20880 PUT@A(12*16+8,12)-(13*16+8-1,27),FONT%,,,,,(256*(VAL(NS1$)+4))
- 20890 PUT@A(13*16+8,12)-(14*16+8-1,27),FONT%,,,,,(256*(VAL(NS2$)+4))
- 20900 PUT@A(14*16+8,12)-(15*16+8-1,27),FONT%,,,,,(256*15)
- 20910 PUT@A(15*16+8,12)-(16*16+8-1,27),FONT%,,,,,(256*(VAL(NF1$)+4))
- 20920 PUT@A(16*16+8,12)-(17*16+8-1,27),FONT%,,,,,(256*(VAL(NF2$)+4))
- 20930 MOUSE 0 'マウス初期化
- 20940 ON MOUSE(2) GOSUB *COUNTSTOP :MOUSE(2) ON '左クリック
- 20950 ON MOUSE(4) GOSUB *COUNTRESET :MOUSE(4) ON '右クリック
- 20960 RETURN
- 20970 *MENU
- 20980 ERASE FONT%:MOUSE 5
- 20990 RUN "M_CLOCK.BAS" 'GOTO MAINPROG
- 21000 '
- 21010 *COUNTSTOP
- 21020 STOPTIME$=TIME$:STOPFLAME=FLAME
- 21030 *LOOP1
- 21040 IF MOUSE(2,0)=0 THEN 21070
- 21050 IF MOUSE(2,0) AND MOUSE(2,1) THEN RETURN *MENU
- 21060 GOTO *LOOP1
- 21070 TIME$=STOPTIME$:FLAME=STOPFLAME:RETURN
- 21080 '
- 21090 *COUNTRESET
- 21100 TIME$="00:00:00":FLAME=0:GOSUB *時刻表示
- 21110 *LOOP2
- 21120 IF MOUSE(2,1)=0 THEN 21150
- 21130 IF MOUSE(2,0) AND MOUSE(2,1) THEN RETURN *MENU
- 21140 GOTO *LOOP2
- 21150 TIME$="00:00:00":FLAME=0:RETURN'